CC = gcc
AFLAGS = -S
CFLAGS = -g -O0

SRCDIR = src
DISTDIR = dist
TESTDIR = tests
MYNAME = tp0
EXEC = $(DISTDIR)/$(MYNAME)
OBJS = $(DISTDIR)/join.o $(DISTDIR)/handle-args.o
TESTFILES = $(TESTDIR)/ARCHIVO* $(TESTDIR)/ApellidoNombre $(TESTDIR)/Puntaje $(TESTDIR)/NADA $(TESTDIR)/LINEA_VACIA $(TESTDIR)/p1 $(TESTDIR)/p2


join: join.o handle-args.o
	$(CC) $(CFLAGS) $(OBJS) -o $(EXEC); rm -f $(OBJS)

withtests: join
	cp $(TESTFILES) $(DISTDIR)

assembly: join
	$(CC) $(CFLAGS) $(AFLAGS) $(SRCDIR)/join.c -o $(DISTDIR)/$(MYNAME).asm

join.o: handle-args.o $(DISTDIR)
	$(CC) $(CFLAGS) -c $(SRCDIR)/join.c -o $(DISTDIR)/$@

handle-args.o: $(DISTDIR)
	$(CC) $(CFLAGS) -c $(SRCDIR)/handle-args.c -o $(DISTDIR)/$@

$(DISTDIR):
	mkdir $(DISTDIR)

clean:
	rm -fr $(DISTDIR)

